<?php
/**
 * @file CrontabMonitor.php
 * @author CaoQiCheng
 * @date 2016年4月26日 下午17:05:11
 * @brief 
 */
namespace haibao\cms\business\crontab;

use haibao\cms\data\crontab\CrontabMonitor as CrontabMonitorData;

class CrontabMonitor extends \haibao\cms\business\Base{
	/**
	 * 每个查询条件是否正在执行
	 */
	const COMPLETE = 2;//执行完成
	const ONLINE = 1;//执行中
	const EXCEPTION = 0;//执行异常
	
	
	/**
	 * 添加计划任务
	 */
	public static function addCrontab($crontabModel,$isEdit=false){
		$funcCode = $isEdit ? self::FUNC_CODE_COOPERATION_CRONTAB_EDIT : self::FUNC_CODE_COOPERATION_CRONTAB_ADD;
		
		self::checkOperation($funcCode);
		
		if(!$isEdit){
			$crontabModel->CreateTime = new \DateTime();
		}
// 		print_r($crontabModel);exit;
		$crontabData = new CrontabMonitorData();
		return $crontabData->saveCrontab($crontabModel,$isEdit);
		self::saveOperateHistory($funcCode, $crontabModel->toArray(true,true));
	}
	
	/**
	 * 取出全部
	 */
	public static function getAll($query){
		$crontabData = new CrontabMonitorData();
		return $crontabData->getAll($query);
	}
	/**
	 * 取出单个
	 */
	public static function getOne($query){
		$crontabData = new CrontabMonitorData();
		return $crontabData->getOne($query);
	}
	

	/**
	 * 删除负责人
	 */
	public static function delCrontabById($crontabId){
		self::checkOperation(\haibao\cms\business\Base::FUNC_CODE_COOPERATION_CRONTAB_DELETE);
		if(!$crontabId){
			return false;
		}
		$crontabData = new CrontabMonitorData();
		return $crontabData->delCrontab($crontabId);
		self::saveOperateHistory(\haibao\cms\business\Base::FUNC_CODE_COOPERATION_CRONTAB_DELETE, array('Id' =>$crontabId));
	}
	
	/**
	 * 查询计划任务监控的表与参数
	 */
	public static function getTableList($crontabInfo){
		$crontabData = new CrontabMonitorData();
		return $crontabData->getTableList($crontabInfo);
	}
	
}